package com.ruoyi.system.domain.vip;

import java.math.BigDecimal;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * This file is part of 南阳迈特网络科技有限公司.
 * @company  南阳迈特网络科技有限公司
 * @link     https://www.nymaite.com
 * @document https://product.nymaite.cn
 * @contact  service@nymaite.com
 * @author nymaite
 */
/**
 * VIP订单对象 vs_dramas_vip_order
 * 
 * @author ruoyi
 * @date 2024-04-25
 */
@ApiModel("VIP订单对象")
public class VsDramasVipOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("id")
    private Integer id;

    /** 站点 ID */
    @ApiModelProperty("站点id（暂时用不到）")
    @Excel(name = "站点 ID")
    private Integer siteId;

    /** VIP ID */
    @ApiModelProperty("vipId")
    @Excel(name = "VIP ID")
    private Integer vipId;

    /** 语言 ID */
    @ApiModelProperty("语言id")
    @Excel(name = "语言 ID")
    private Integer langId;

    @ApiModelProperty("语言名称（只做展示，不需要传值）")
    private String langName;

    /** 订单号 */
    @ApiModelProperty("订单号")
    @Excel(name = "订单号")
    private String orderSn;

    /** 用户 */
    @ApiModelProperty("用户id")
    @Excel(name = "用户")
    private Integer userId;

    /** VIP时长 */
    @ApiModelProperty("VIP时长（时间戳）")
    @Excel(name = "VIP时长")
    private Long times;

    /** 订单状态:-2=交易关闭,-1=已取消,0=未支付,1=已支付,2=已完成 */
    @ApiModelProperty("订单状态:-2=交易关闭,-1=已取消,0=未支付,1=已支付,2=已完成")
    @Excel(name = "订单状态:-2=交易关闭,-1=已取消,0=未支付,1=已支付,2=已完成")
    private Long status;

    /** 支付金额 */
    @ApiModelProperty("支付金额")
    @Excel(name = "支付金额")
    private BigDecimal totalFee;

    /** 实际支付金额 */
    @ApiModelProperty("实际支付金额")
    @Excel(name = "实际支付金额")
    private BigDecimal payFee;

    /** 货币 */
    @ApiModelProperty("货币")
    @Excel(name = "货币")
    private String currency;

    /** 交易单号 */
    @ApiModelProperty("交易单号")
    @Excel(name = "交易单号")
    private String transactionId;

    /** 交易原始数据 */
    @ApiModelProperty("交易原始数据")
    @Excel(name = "交易原始数据")
    private String paymentJson;

    /** 支付方式:wechat=微信支付,alipay=支付宝,wallet=钱包支付,score=积分支付,cryptocard=卡密兑换,system=管理员设置,paypal=PayPal,stripe=Stripe */
    @ApiModelProperty("支付方式:wechat=微信支付,alipay=支付宝,wallet=钱包支付,score=积分支付,cryptocard=卡密兑换,system=管理员设置,paypal=PayPal,stripe=Stripe")
    @Excel(name = "支付方式:wechat=微信支付,alipay=支付宝,wallet=钱包支付,score=积分支付,cryptocard=卡密兑换,system=管理员设置,paypal=PayPal,stripe=Stripe")
    private String payType;

    /** 支付时间 */
    @ApiModelProperty("支付时间（时间戳）")
    @Excel(name = "支付时间")
    private Long paytime;

    /** 附加字段 */
    @ApiModelProperty("附加字段")
    @Excel(name = "附加字段")
    private String ext;

    /** 平台:H5=H5,wxOfficialAccount=微信公众号,wxMiniProgram=微信小程序,Web=Web,App=APP */
    @ApiModelProperty("平台:H5=H5,wxOfficialAccount=微信公众号,wxMiniProgram=微信小程序,Web=Web,App=APP")
    @Excel(name = "平台:H5=H5,wxOfficialAccount=微信公众号,wxMiniProgram=微信小程序,Web=Web,App=APP")
    private String platform;

    /** 删除时间 */
    @ApiModelProperty("删除时间（时间戳）")
    @Excel(name = "删除时间")
    private Long deletetime;

    @ApiModelProperty("创建时间（时间戳）")
    private Long createtime;

    @ApiModelProperty("修改时间（时间戳）")
    private Long updatetime;

    @ApiModelProperty("开始支付时间（时间戳）")
    private Long beginPaytime;

    @ApiModelProperty("结束支付时间（时间戳）")
    private Long endPaytime;

    public Integer getLangId() {
        return langId;
    }

    public void setLangId(Integer langId) {
        this.langId = langId;
    }

    public String getLangName() {
        return langName;
    }

    public void setLangName(String langName) {
        this.langName = langName;
    }

    public Long getBeginPaytime() {
        return beginPaytime;
    }

    public void setBeginPaytime(Long beginPaytime) {
        this.beginPaytime = beginPaytime;
    }

    public Long getEndPaytime() {
        return endPaytime;
    }

    public void setEndPaytime(Long endPaytime) {
        this.endPaytime = endPaytime;
    }

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setSiteId(Integer siteId) 
    {
        this.siteId = siteId;
    }

    public Integer getSiteId() 
    {
        return siteId;
    }
    public void setVipId(Integer vipId) 
    {
        this.vipId = vipId;
    }

    public Integer getVipId() 
    {
        return vipId;
    }
    public void setOrderSn(String orderSn) 
    {
        this.orderSn = orderSn;
    }

    public String getOrderSn() 
    {
        return orderSn;
    }
    public void setUserId(Integer userId) 
    {
        this.userId = userId;
    }

    public Integer getUserId() 
    {
        return userId;
    }
    public void setTimes(Long times) 
    {
        this.times = times;
    }

    public Long getTimes() 
    {
        return times;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setTotalFee(BigDecimal totalFee) 
    {
        this.totalFee = totalFee;
    }

    public BigDecimal getTotalFee() 
    {
        return totalFee;
    }
    public void setPayFee(BigDecimal payFee) 
    {
        this.payFee = payFee;
    }

    public BigDecimal getPayFee() 
    {
        return payFee;
    }
    public void setCurrency(String currency) 
    {
        this.currency = currency;
    }

    public String getCurrency() 
    {
        return currency;
    }
    public void setTransactionId(String transactionId) 
    {
        this.transactionId = transactionId;
    }

    public String getTransactionId() 
    {
        return transactionId;
    }
    public void setPaymentJson(String paymentJson) 
    {
        this.paymentJson = paymentJson;
    }

    public String getPaymentJson() 
    {
        return paymentJson;
    }
    public void setPayType(String payType) 
    {
        this.payType = payType;
    }

    public String getPayType() 
    {
        return payType;
    }
    public void setPaytime(Long paytime) 
    {
        this.paytime = paytime;
    }

    public Long getPaytime() 
    {
        return paytime;
    }
    public void setExt(String ext) 
    {
        this.ext = ext;
    }

    public String getExt() 
    {
        return ext;
    }
    public void setPlatform(String platform) 
    {
        this.platform = platform;
    }

    public String getPlatform() 
    {
        return platform;
    }
    public void setDeletetime(Long deletetime) 
    {
        this.deletetime = deletetime;
    }

    public Long getDeletetime() 
    {
        return deletetime;
    }

    public Long getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Long createtime) {
        this.createtime = createtime;
    }

    public Long getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Long updatetime) {
        this.updatetime = updatetime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("siteId", getSiteId())
            .append("vipId", getVipId())
            .append("orderSn", getOrderSn())
            .append("userId", getUserId())
            .append("times", getTimes())
            .append("status", getStatus())
            .append("totalFee", getTotalFee())
            .append("payFee", getPayFee())
            .append("currency", getCurrency())
            .append("transactionId", getTransactionId())
            .append("paymentJson", getPaymentJson())
            .append("remark", getRemark())
            .append("payType", getPayType())
            .append("paytime", getPaytime())
            .append("ext", getExt())
            .append("platform", getPlatform())
            .append("createtime", getCreatetime())
            .append("updatetime", getUpdatetime())
            .append("deletetime", getDeletetime())
            .toString();
    }
}
